<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>登录页</title>
    <!-- 请勿在项目正式环境中引用该 layui.css 地址 -->
    <link href="/layui/css/layui.css" rel="stylesheet">
</head>
<body>
<style>
    .demo-login-container {
        width: 320px;
        margin: 21px auto 0;
    }

    .demo-login-other .layui-icon {
        position: relative;
        display: inline-block;
        margin: 0 2px;
        top: 2px;
        font-size: 26px;
    }
</style>
<form class="layui-form">
    <div class="demo-login-container">
        <div class="layui-form-item">
            <div class="layui-input-wrap">
                <div class="layui-input-prefix">
                    <i class="layui-icon layui-icon-username"></i>
                </div>
                <input type="text" name="username" value="" lay-verify="required" placeholder="用户名"
                       lay-reqtext="请填写用户名" autocomplete="off" class="layui-input" lay-affix="clear">
            </div>
        </div>
        <div class="layui-form-item">
            <div class="layui-input-wrap">
                <div class="layui-input-prefix">
                    <i class="layui-icon layui-icon-password"></i>
                </div>
                <input type="password" name="password" value="" lay-verify="required" placeholder="密   码"
                       lay-reqtext="请填写密码" autocomplete="off" class="layui-input" lay-affix="eye">
            </div>
        </div>
        <div class="layui-form-item">
            <div class="layui-row">
                <div class="layui-col-xs7">
                    <div class="layui-input-wrap">
                        <div class="layui-input-prefix">
                            <i class="layui-icon layui-icon-vercode"></i>
                        </div>
                        <input type="text" name="captcha" value="" lay-verify="required" placeholder="验证码"
                               lay-reqtext="请填写验证码" autocomplete="off" class="layui-input" lay-affix="clear">
                    </div>
                </div>
                <div class="layui-col-xs5">
                    <div style="margin-left: 10px;">
                        <img id="captcha_img" src=""
                             lay-on="ref_captcha_img">
                    </div>
                </div>
            </div>
        </div>
        <div class="layui-form-item">
            <input type="checkbox" name="remember" lay-skin="primary" title="记住密码">
            <a href="#forget" style="float: right; margin-top: 7px;">忘记密码？</a>
        </div>
        <div class="layui-form-item">
            <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="demo-login">登录</button>
        </div>
        <div class="layui-form-item demo-login-other">
            <label>社交账号登录</label>
            <span style="padding: 0 21px 0 6px;">
        <a href="javascript:;"><i class="layui-icon layui-icon-login-qq" style="color: #3492ed;"></i></a>
        <a href="javascript:;"><i class="layui-icon layui-icon-login-wechat" style="color: #4daf29;"></i></a>
        <a href="javascript:;"><i class="layui-icon layui-icon-login-weibo" style="color: #cf1900;"></i></a>
      </span>
            或 <a lay-on="doRegister" href="javascript:;">注册帐号</a>
        </div>
    </div>
</form>

<!-- 请勿在项目正式环境中引用该 layui.js 地址 -->
<script src="/layui/layui.js"></script>
<script src="/js/appvariable.js"></script>
<script>
    layui.use(['util'], function () {
        var form = layui.form;
        var layer = layui.layer;
        var jQuery = layui.$;
        var util = layui.util;

        // 生成验证码
        function createCaptcha() {
            jQuery.ajax({
                url: '/captcha/create',
                type: 'GET',
                success: function (res) {
                    if (res.code === 200) {
                        // 显示图片验证码
                        jQuery('#captcha_img').attr('src', res.data);
                    } else {
                        layer.msg(res.msg);
                    }
                }
            });
        }

        // 页面初始化执行事件
        layer.ready(function () {
            // 加载图片验证码
            createCaptcha();
        });

        util.on('lay-on', {
            'ref_captcha_img': function () {
                // 重新加载图片验证码
                createCaptcha();
            },
            'doRegister': function () {
                location.href = 'register.html';
            }
        });

        // 提交事件
        form.on('submit(demo-login)', function (data) {
            var field = data.field; // 获取表单字段值
            // 此处可执行 Ajax 等操作
            jQuery.ajax({
                url: '/user/login',
                type: 'POST',
                data: field,
                success: function (res) {
                    if (res.code === 200) {
                        // 登录成功，将 JWT 生成 Token 存储到 LocalStorage
                        layui.data(login_user_info_key,{
                            key: jwt_token_key,
                            value: res.data.jwt
                        });
                        layui.data(login_user_info_key,{
                            key: 'username',
                            value: res.data.username
                        });
                        // 刷新父页面
                        window.parent.location.href = window.parent.location.href;
                    } else {
                        layer.msg("登录失败：" + res.msg);
                    }
                }
            });
            return false; // 阻止默认 form 跳转
        });
    });
</script>

</body>
</html>